package com.macro.mall.commission.domain;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单佣金结算Domain
 *
 * @author xuyanjun
 * @date 2019-12-11
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class OrderSettle {

    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    private LocalDateTime updateTime;

    /**
     * 结算到账状态枚举 0:NOT_ARRIVED_ACCOUNT:未到账 5:ARRIVED_ACCOUNT:已到账
     */
    @ApiModelProperty(value = "结算到账状态枚举 0:NOT_ARRIVED_ACCOUNT:未到账 5:ARRIVED_ACCOUNT:已到账")
    private Integer arrivedStatus;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称")
    private String userName;

    /**
     * 订单id
     */
    @ApiModelProperty(value = "订单id")
    private Long orderId;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    private String orderNo;

    /**
     * 下单用户id
     */
    @ApiModelProperty(value = "下单用户id")
    private Long orderUserId;

    /**
     * 下单用户名称
     */
    @ApiModelProperty(value = "下单用户名称")
    private String orderUserName;

    /**
     * 订单支付时间
     */
    @ApiModelProperty(value = "订单支付时间")
    private LocalDateTime orderPaymentTime;

    /**
     * 订单完成时间
     */
    @ApiModelProperty(value = "订单完成时间")
    private LocalDateTime orderCompleteTime;

    /**
     * 订单金额
     */
    @ApiModelProperty(value = "订单金额")
    private Integer orderAmount;

    /**
     * 订单供应商id
     */
    @ApiModelProperty(value = "订单供应商id")
    private Integer orderSupplierId;

    /**
     * 分佣金额
     */
    @ApiModelProperty(value = "分佣金额")
    private Integer amount;

    /**
     * 比例
     */
    @ApiModelProperty(value = "比例")
    private BigDecimal percent;

    /**
     * 分佣类型枚举  5:WAITER_1:小二收益1 10:WAITER_2:小二收益2 15:SHOP_KEEPER_1:掌柜收益1 20:SHOP_KEEPER_2:掌柜收益2 25:SHOP_OWNER_1:东家收益1 30:SHOP_OWNER_2:东家收益2 35:TK:淘客/老太爷收益
     */
    @ApiModelProperty(value = "分佣类型枚举  5:WAITER_1:小二收益1 10:WAITER_2:小二收益2 15:SHOP_KEEPER_1:掌柜收益1 20:SHOP_KEEPER_2:掌柜收益2 25:SHOP_OWNER_1:东家收益1 30:SHOP_OWNER_2:东家收益2 35:TK:淘客/老太爷收益")
    private Integer assignType;

    /**
     * 分佣类型名称
     */
    @ApiModelProperty(value = "分佣类型名称")
    private String assignTypeName;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

}
